package main

import (
	"net/http"
)

func main()  {
	// 创建了一个多路复用器
	mux := http.NewServeMux()
	// 用FileServer创建能够为 指定目录中的静态文件服务 的处理器
	files := http.FileServer(http.Dir("/public"))
	// 文件服务器 被传递给多路复用器的handle
	mux.Handle("/static/", http.StripPrefix("/static/", files))

	// HandleFunc接受一个URL和一个处理器的名字作为参数，并将请求转发至处理器index
	mux.HandleFunc("/", index)
	mux.HandleFunc("/err", err)
	mux.HandleFunc("/login", login)

	server := &http.Server{
		Addr : ":8080",
		Handler: mux,
	}
	server.ListenAndServe()
}

func index(w http.ResponseWriter, r *http.Request)  {
	files := []string{"templates/layout.html",
					"templates/navbar.html",
					"templates/index.html",}
	templates := template.Must(template.ParseFiles(files...))
	threads, err := data.Threads(); if err == nil {
		templates.ExecuteTemplate(w, "layout", threads)
	}
}
